A wide variety of services are available from service providers through the Internet. For example, some service providers provide map information, weather information, stock information, and so on. Service consumers (e.g., personal computers) send requests for services to the web servers of the service providers. The web servers perform the service (e.g., retrieve the requested information) and provide the results of the service via web pages to the requesting service consumers. Many of these service providers provide their services at no charge to the service consumers. The service providers, however, typically obtain revenue by selling advertising space on the web pages that provide the information requested by the service consumers.
As computing devices become smaller and smaller, their screens for displaying information become smaller. For example, a cell phone is a computing device that may allow web access, but may only have a very small screen that cannot display a typical web page that includes advertisements. Thus, a service provider who provides services to cell phones may not be able to obtain revenue via advertising. It would be desirable to have a way in which service providers could obtain revenue for providing services to such computing devices.
Although these computing devices are becoming smaller, their processing power is increasing. As a result, these computing devices (e.g., cell phones and personal digital assistants) can host many different application programs. For example, a cell phone may host applications that provide electronic mail, map information, location information, calendaring information, and so on. These applications may come pre-installed when a computing device is purchased or may be installed by the user after purchase. For example, a cell phone user may want a map of their current location to be displayed on their cell phone screen. If a map application is not pre-installed, the cell phone user may download a map application from the Internet and install it on their cell phone. The map application may need to use the services of a location service provider and a map service provider. The map application may use the location service provider to identify the current location of the cell phone based on the readings from various cells near the cell phone and may provide that current location to the map service provider to obtain the appropriate map for display to the user.
Several difficulties may be encountered with the use of applications on such computing devices. One difficulty is that the advertising revenue model used by service providers may not work well with the use of such computing devices. One solution would be for a service provider to charge a fee for each requested service. For example, a location service provider may charge $0.02 for each requested location. It would be impractical, however, for the location service provider to charge a credit card for each requested service because the transaction costs of the charge would be too high. Although the location service provider could aggregate the charges for a service consumer and only charge the credit card once a month, there is no cost-effective way for the service consumer (or the user of the computing device) to dispute such a charge. For example, the aggregated charge may be $10, which would not nearly cover the transaction costs of the investigation by the credit card company that would be needed to resolve the dispute. It would be desirable to have a way to automatically resolve such disputes.
Even if the dispute resolution had no associated transaction costs, the aggregating of charges still presents disadvantages for the service provider. In particular, one disadvantage is that a service provider risks exposure to non-payment by the service consumer. Even though the service provider may have a credit card number of the service consumer, the charge may be declined, for example, because the cardholder has recently canceled the credit card. To limit such exposure to non-payment, a service provider may want to charge a credit card more frequently, but a disadvantage of such frequent charges is that each charge may have a minimum transaction cost that may be more than the amount being charged. It would be desirable to allow a service provider to specify an acceptable balance between exposure to non-payment and transaction costs of charging for services.
Another difficulty with the use of such computing devices is that an application that is downloaded and installed on a computing device may not behave correctly. For example, the application may contain a virus which requests location information every 10 seconds from a location service provider. Such requests may be not known to the service consumer until the credit card statement is received indicating that the location service provider charged the service consumer over $5,000 in service fees for that month. It would be desirable to have a way to automatically detect whether such an application is not behaving correctly. Moreover, it would be desirable for a service provider to indicate whether certain applications are not trustworthy based on a history of their behavior so that a service consumer can make a more informed decision about installing such an application.
In general, it would be desirable to have a cost-effective way for service providers to provide services and for service consumers using various applications in an environment where participants (i.e., service providers, service consumers, and applications and their authors) may be untrustworthy.